
//函数声明
/**
 * @method add
 *
 * @param {number} x
 * @param {number} y
 * @param {number} [z]
 * @returns {number}
 */
function add(x:number,y:number,z?:number):number {   //函数的可选参数只能放在最后
  if(typeof z == 'number') {
    return x + y + z
  }
  return x + y;
}

add(2,3);

//函数表达式
const add2: (x:number,y:number) => number = add; //这样也可以声明函数

let strstring:string ='fdkf'
// str = 1334;  类型推断为string